package com.ruoyi.peach.service.impl;

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.List;

import com.ruoyi.peach.domain.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.peach.mapper.ArticlesMapper;
import com.ruoyi.peach.service.IArticlesService;

/**
 * 文章管理Service业务层处理
 * 
 * @author ld
 * @date 2025-04-22
 */
@Service
public class ArticlesServiceImpl implements IArticlesService 
{
    @Autowired
    private ArticlesMapper articlesMapper;

    /**
     * 查询文章管理
     * 
     * @param articleId 文章管理主键
     * @return 文章管理
     */
    @Override
    public Articles selectArticlesByArticleId(String articleId)
    {
        return articlesMapper.selectArticlesByArticleId(articleId);
    }

    /**
     * 查询文章管理列表
     * 
     * @param articles 文章管理
     * @return 文章管理
     */
    @Override
    public List<Articles> selectArticlesList(Articles articles)
    {
        return articlesMapper.selectArticlesList(articles);
    }

    /**
     * 新增文章管理
     * 
     * @param articles 文章管理
     * @return 结果
     */
    @Override
    public int insertArticles(Articles articles)
    {
        return articlesMapper.insertArticles(articles);
    }

    /**
     * 修改文章管理
     * 
     * @param articles 文章管理
     * @return 结果
     */
    @Override
    public int updateArticles(Articles articles)
    {
        return articlesMapper.updateArticles(articles);
    }

    /**
     * 批量删除文章管理
     * 
     * @param articleIds 需要删除的文章管理主键
     * @return 结果
     */
    @Override
    public int deleteArticlesByArticleIds(String[] articleIds)
    {
        return articlesMapper.deleteArticlesByArticleIds(articleIds);
    }

    @Override
    public List<Articles> selectArticlesListApp(Articles articles) {
        return articlesMapper.selectArticlesListApp(articles);
    }

    /**
     * 删除文章管理信息
     * 
     * @param articleId 文章管理主键
     * @return 结果
     */
    @Override
    public int deleteArticlesByArticleId(String articleId)
    {
        return articlesMapper.deleteArticlesByArticleId(articleId);
    }
    @Override
    public int viewCount(String articleId) {
        return articlesMapper.viewCount(articleId);
    }

    @Override
    public int likeCount(String articleId) {
        return articlesMapper.likeCount(articleId);
    }

    @Override
    public int commentOne(Comment comment) {
        // 1. 获取当前系统的本地日期时间
        LocalDateTime now = LocalDateTime.now();
        // 2. 定义格式化器，格式为：年-月-日 时:分:秒
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        // 3. 将 LocalDateTime 格式化为字符串
        String timeStr = now.format(formatter);
        // 4. 设置到 comment 对象（需确保 Comment 类的 creatTime 字段类型为 String）
        comment.setCreatTime(timeStr);
        String articleId=comment.getArticleId();
        articlesMapper.commentOneCount(articleId);
        return articlesMapper.commentOne(comment);
    }

    @Override
    public int commentTow(Comment2 comment) {
        LocalDateTime now = LocalDateTime.now();
        // 2. 定义格式化器，格式为：年-月-日 时:分:秒
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        // 3. 将 LocalDateTime 格式化为字符串
        String timeStr = now.format(formatter);
        // 4. 设置到 comment 对象（需确保 Comment 类的 creatTime 字段类型为 String）
        comment.setCreatTime(timeStr);
        String commnetId=comment.getCommentId();
        articlesMapper.commentTowCount(commnetId);
        return articlesMapper.commentTow(comment);
    }

    @Override
    public List<Comment4> selectComment1List(String articleId) {
        return articlesMapper.electComment1List(articleId);
    }

    @Override
    public List<Comment3> selectComment2List(String commentId) {
        return articlesMapper.electComment2List(commentId);
    }

    @Override
    public List<Articles> selectArticlesListBy(String contents) {

        return articlesMapper.GetBy(contents);
    }
}
